/*
 * ******************************************************************************
 *   Copyright (c) 2013-2014 Gabriele Mariotti.
 *
 *   Licensed under the Apache License, Version 2.0 (the "License");
 *   you may not use this file except in compliance with the License.
 *   You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 *   Unless required by applicable law or agreed to in writing, software
 *   distributed under the License is distributed on an "AS IS" BASIS,
 *   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *   See the License for the specific language governing permissions and
 *   limitations under the License.
 *  *****************************************************************************
 */

package it.gmariotti.cardslib.demo.cards;

import it.gmariotti.cardslib.demo.ResourceTable;
import it.gmariotti.cardslib.library.Constants;
import it.gmariotti.cardslib.library.internal.CardExpand;
import ohos.agp.components.Component;
import ohos.agp.components.ComponentContainer;
import ohos.agp.components.Text;
import ohos.agp.utils.TextAlignment;
import ohos.app.Context;
import ohos.hiviewdfx.HiLog;

/**
 * This class provides an example of custom expand/collapse area.
 * It uses carddemo_example_inner_expand layout.
 * <p/>
 * You have to override the {@link #setupInnerViewElements(ComponentContainer parent, Component view));
 *
 * @author Gabriele Mariotti (gabri.mariotti@gmail.com)
 */
public class CustomExpandCard extends CardExpand {

    int count;

    public CustomExpandCard(Context context) {
        super(context, ResourceTable.Layout_carddemo_example_native_inner_expand);
    }

    public CustomExpandCard(Context context, int i) {
        super(context, ResourceTable.Layout_carddemo_example_native_inner_expand);
        count = i;
    }

    //You can set you properties here (example buttons visibility)

    @Override
    public void setupInnerViewElements(ComponentContainer parent, Component view) {

        try {
            if (view == null) return;

            //Retrieve Text elements
            Text tx1 = (Text) view.findComponentById(ResourceTable.Id_carddemo_expand_text1);
            Text tx2 = (Text) view.findComponentById(ResourceTable.Id_carddemo_expand_text2);
            Text tx3 = (Text) view.findComponentById(ResourceTable.Id_carddemo_expand_text3);
            Text tx4 = (Text) view.findComponentById(ResourceTable.Id_carddemo_expand_text4);

            //Set value in text views
            if (tx1 != null) {
                if (count % 2 == 0)
                    tx1.setText(getContext().getResourceManager().getElement(ResourceTable.String_demo_expand_customtitle1).getString());
                else
                    tx1.setText(getContext().getResourceManager().getElement(ResourceTable.String_demo_expand_customtitle3).getString());
            }

            if (tx2 != null) {
                tx2.setText(getContext().getResourceManager().getElement(ResourceTable.String_demo_expand_customtitle2).getString());
            }
        } catch (Exception e) {
            HiLog.error(Constants.LABEL_LOG, e.toString());
        }
    }
}
